package com.study.student.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.study.common.annotation.Excel;
import com.study.common.core.domain.BaseEntity;

/**
 * 学生信息对象 sys_student
 * 
 * @author rose
 * @date 2025-05-21
 */
public class SysStudent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 学号（唯一） */
    private String studentId;

    /** 关联若依用户ID（学生账号） */
    @Excel(name = "关联若依用户ID", readConverterExp = "学=生账号")
    private Long userId;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    private String name;

    /** 性别（0男，1女） */
    @Excel(name = "性别", readConverterExp = "0=男，1女")
    private String gender;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 所属班级/院系（关联部门表） */
    @Excel(name = "所属班级/院系", readConverterExp = "关=联部门表")
    private Long deptId;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String contact;

    public void setStudentId(String studentId) 
    {
        this.studentId = studentId;
    }

    public String getStudentId() 
    {
        return studentId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }

    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }

    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }

    public void setContact(String contact) 
    {
        this.contact = contact;
    }

    public String getContact() 
    {
        return contact;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("studentId", getStudentId())
            .append("userId", getUserId())
            .append("name", getName())
            .append("gender", getGender())
            .append("birthDate", getBirthDate())
            .append("deptId", getDeptId())
            .append("contact", getContact())
            .toString();
    }
}
